/**
 * 数据格式化工具函数
 */

/**
 * 格式化薪资（k → 千）
 * @param {number} salary - 薪资（单位：k）
 * @returns {string}
 */
export function formatSalary(salary) {
  if (!salary) return '-'
  return `${salary}k`
}

/**
 * 格式化薪资范围
 * @param {number} min - 最低薪资
 * @param {number} max - 最高薪资
 * @returns {string}
 */
export function formatSalaryRange(min, max) {
  if (!min || !max) return '-'
  return `${min}k-${max}k`
}

/**
 * 格式化数字（千分位）
 * @param {number} num - 数字
 * @returns {string}
 */
export function formatNumber(num) {
  if (num === null || num === undefined) return '-'
  return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')
}

/**
 * 格式化百分比
 * @param {number} value - 数值
 * @param {number} total - 总数
 * @param {number} fixed - 小数位数
 * @returns {string}
 */
export function formatPercent(value, total, fixed = 1) {
  if (!total || total === 0) return '0%'
  return `${((value / total) * 100).toFixed(fixed)}%`
}

/**
 * 格式化日期
 * @param {string|Date} date - 日期
 * @returns {string}
 */
export function formatDate(date) {
  if (!date) return '-'
  const d = new Date(date)
  const year = d.getFullYear()
  const month = String(d.getMonth() + 1).padStart(2, '0')
  const day = String(d.getDate()).padStart(2, '0')
  return `${year}-${month}-${day}`
}

/**
 * 截断文本
 * @param {string} text - 文本
 * @param {number} maxLength - 最大长度
 * @returns {string}
 */
export function truncate(text, maxLength = 50) {
  if (!text) return ''
  if (text.length <= maxLength) return text
  return text.substring(0, maxLength) + '...'
}

